<?php
$zagol='Вход';
$templateshead='NO';
include 'header.php';

sql_query ("UPDATE `errorenter` SET `colua` = '0' WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(date) > 10;") or die(mysql_error());//очищаем количетсво неверных входов с этого юзер агента
sql_query ("DELETE FROM errorenter WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(date) > 30") or die(mysql_error());//удаляем ip-адреса ошибавшихся при входе пользователей через час минут.

if (isset($_POST['login'])) {$login = mysql_real_escape_string($_POST['login']); if ($login=='') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['pass'])) {$pass = mysql_real_escape_string($_POST['pass']); if ($pass=='') { unset($pass);} } //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (isset($_POST['auto'])) {$auto = mysql_real_escape_string($_POST['auto']); if ($auto=='') { unset($auto);} }
if (isset($_POST['page'])) {$page = mysql_real_escape_string($_POST['page']); if ($page=='') { unset($page);} }

if(empty($login) || empty($pass)){
?>
Не введен логин или пароль!
<fieldset>
<form action="login.php" method="post" name="add">
	<dl>

		<dt class="dt">Логин:</dt>
		<dd class="dd"><input type="text" name="login" maxlength="20" size="22"></dd>
	</dl>
	<dl>
		<dt class="dt">Пароль:</dt>
		<dd class="dd"><input type="password" name="pass" maxlength="20" size="22"></dd>
	</dl>


<input type="submit" value="Вход">
<a href="/register.php"><b>Регистрация</b></a>
</form>
</fieldset>
<?php }

else {

// минипроверка на подбор паролей
sql_query ("CREATE TABLE IF NOT EXISTS `errorenter` (
  `ip` varchar(100) NOT NULL default '',
  `useragent` varchar(500) NOT NULL default '',
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  `colip` int(2) NOT NULL default '0',
  `colua` int(2) NOT NULL default '0'
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;") or die(mysql_error());
$colz = sql_query("SELECT * FROM errorenter WHERE ip='$ip' AND  useragent='$useragent'") or die(mysql_error());// извлекаем из базы колличество неудачных попыток входа за последние 15 минут у пользователя 
$col = mysql_fetch_array($colz);
$cua=$col['colua'];//колличество неудачных попыток входа за последние 15 минут у пользователя с данным useragent

$colipz = sql_query("SELECT * FROM errorenter WHERE ip='$ip'") or die(mysql_error());// извлекаем из базы колличество неудачных попыток входа за последние 15 минут у пользователя 
$cip=0;
while ($colip = mysql_fetch_array($colipz)) {
$cip=$cip+$colip['colip']; //колличество неудачных попыток входа за последние 15 минут у пользователя с данным ip
}
//echo 'неверно с этого ип:'.$cip.'<br />неверно с этого юа:'.$cua.'<br />';

if ($cip >= 15) {
echo '<div class="error"> Вы набрали логин или пароль неверно несколько раз. Подождите час до следующей попытки. </div><br />
<a href="index.php?'.session_name().'='.session_id().'">ГЛАВНАЯ</a>';}
elseif ($cua >= 5) {
echo '<div class="error"> Вы набрали логин или пароль неверно несколько раз. Подождите 15 минут до следующей попытки. </div><br />
<a href="index.php?'.session_name().'='.session_id().'">ГЛАВНАЯ</a>';}
//останавливаем выполнение сценарие
else
{
$cryptpass=cryptpass($pass,$salt);
$logres = sql_query("SELECT * FROM user WHERE login='$login' AND pass='$cryptpass' AND activation='1'") or die(mysql_error()); //извлекаем из базы все данные о пользователе с введенным логином
$log = mysql_fetch_array($logres);

if (empty($log['id']))
{

//если пользователя с введенным логином и паролем не существует,то записываем ip пользователя и с датой ошибки
$erroripz = sql_query("SELECT * FROM errorenter WHERE ip='$ip'") or die(mysql_error());
$errorip = mysql_fetch_array($erroripz);
if (mysql_num_rows($erroripz)<1) {
	sql_query ("INSERT INTO errorenter VALUES ('$ip','$useragent',NOW(),1,1)") or die(mysql_error());}
else
{
	$erroruaz = sql_query("SELECT * FROM errorenter WHERE ip='$ip' AND  useragent='$useragent'") or die(mysql_error());
	if (mysql_num_rows($erroruaz)>0) {
		$coldata = mysql_fetch_array($erroruaz);
	$colua=++$coldata['colua'];
	$colip=++$coldata['colip'];
	sql_query ("UPDATE errorenter SET colua=$colua,colip=$colip,date=NOW() WHERE ip='$ip' AND  useragent='$useragent'");}	
	else {
		$colip=++$cip;
		sql_query ("INSERT INTO errorenter VALUES ('$ip','$useragent',NOW(),1,1)") or die(mysql_error());
		}	
	}

echo 'Извините, введённый вами логин или пароль неверный.<br /> Или аккаунт не активирован.<br />
<a href="index.php?'.session_name().'='.session_id().'">ГЛАВНАЯ</a>'; //останавливаем выполнение сценариев
}
else {
	//извлекаем признак активации пользователя с данным  логином
	          $sid=md5($login.$log['id'].$sk);
			session_start();
		  $_SESSION['ulogin']=$login;
          $_SESSION['uid']=$log['id'];
		  $_SESSION['usid']=$sid;
		  $_SESSION['uip']=$ip;
		  $_SESSION['ufont']='15';
		  $_SESSION['uagent']=$agent;
		  $_SESSION['who']=$log['who'];
		  $_SESSION['ustyle']=$log['style'];
		  $_SESSION['uavatar']=$log['avatar'];
		  if ($log['admin']=='1') {$_SESSION['admin']='admin';}
		  if ($log['admin']=='2') {$_SESSION['admin']='rasp';}
		  if (empty($page)) {$page='/index.php';}
if (isset($auto)){
//Если пользователь хочет входить на сайт автоматически
setcookie("usid", $sid, time()+9999999);}
else {
setcookie("usid", $sid);}
echo '<head><meta http-equiv="Refresh" content="0; URL='.$page.'"></head>
<h1>Вход выполнен<br />
<a href="'.$page.'">Продолжить</a><br /></h1>
<a href="index.php?'.session_name().'='.session_id().'">ГЛАВНАЯ</a>';
}}}
$counters='NO';
require ($dir."templates/$templates/emptyfooter.php");
?>